package Brikker;

class Bonde extends Brikker {
  private int Antall_Trekk_Bonde = 0;
  public int Flytt_En_Rad_Rett_Frem = 8;
  public int Flytt_To_Rader_Rett_Frem = 16;
  public int Slaa_Ut_Til_Venstre = 9;
  public int Slaa_Ut_Til_Hoeyre = 7;
  
  public int[] trekk = {Flytt_En_Rad_Rett_Frem, Flytt_To_Rader_Rett_Frem, Slaa_Ut_Til_Venstre, Slaa_Ut_Til_Hoeyre};
  
  
  public Bonde(String lag){
    super("Bonde", lag);
  }
 
  @Override
  public String getNavn(){
    return navn;
  }
  
  @Override
  public String getLag(){
    return lag;
  }
  
  
  //Metode som sjekker om trekket du ønsker å gjøre er gyldig for denne brikken. 
  //Sjekker først hvilken side av brettet brikken starter på.
  //Sjekker om bonden har gjort et trekk, hvis ikke kan den gå to rader, ellers kun en
  //Gir true på sidelengs movement
  
  @Override
  public Boolean GyldigTrekk(int gammelPlassering, int nyPlassering){
    //hvis første trekk
    if(getLag().equals("hvit")){
      if(Antall_Trekk_Bonde == 0){
        for(int i = 0;i<trekk.length;i++){
          if(gammelPlassering+trekk[i] == nyPlassering){
            Antall_Trekk_Bonde++;
            return true;
          }
        }
      }else{
        //For vanlige trekk
        for(int i = 0; i<trekk.length;i++){
          if(trekk[i]!= Flytt_To_Rader_Rett_Frem && gammelPlassering+trekk[i] == nyPlassering){
            Antall_Trekk_Bonde++;
            return true;
          }
        }
      }
    }
    
    //for den andre spilleren, første trekk
    if(getLag().equals("svart")){
      if(Antall_Trekk_Bonde == 0){
        for(int i = 0;i<trekk.length;i++){
          if(gammelPlassering-trekk[i] == nyPlassering){
            Antall_Trekk_Bonde++;
            return true;
          }
        }
      }else{
        //for den andre spillere, vanlige trekk.
        for(int i = 0; i<trekk.length;i++){
          if(trekk[i]!= Flytt_To_Rader_Rett_Frem && gammelPlassering-trekk[i] == nyPlassering){
            Antall_Trekk_Bonde++;
            return true;
          }
        }
      }
    }
    return false;
  }
  
  
  
  @Override
  public String toString(){
    return getNavn() + " " + getLag();
  }
}